Class
#subtype!
true! !
#categories!
testing!
printing!
accessing!
iterating!
converting!
private!
virtual operations!
utility! !
#group!
base! !
#extensionsAreSubtypes!
true! !
do:!
2897740!
iterating!
0[E]:! !
reduce:!
2898115!
iterating!
4[RE def,RE,^RE]:RE! !
newForCollectUsingAdd:!
5968032!
private!
1Int:OrdCltn[Object]! !
asSortedCollection:!
2903286!
converting!
4[E,EX,^Boolean]:SortedCollection[EX]! !
asSet!
2902429!
converting!
4Extensible[EX]! !
#typeArgumentString!
(E covar) ! !
do:andBetweenDo:!
2906007!
utility!
0[E]:[]:! !
#branded!
true! !
asArray!
2901035!
converting!
4Array[EX]! !
hash!
2896207!
accessing!
0Int! !
detect:ifNone:!
2897486!
iterating!
2[E,^Boolean]:[^X def]:E|X! !
includes:!
2894861!
testing!
0Object:Boolean! !
asSortedCollection!
2902859!
converting!
0SeqCltn[Object]! !
maxPrintElements!
2904440!
private!
1Int! !
#superclassTypeString!
Object! !
hasSameElementsAs:!
2894544!
testing!
0Cltn[Object]:Boolean! !
#revision!
$Revision: 1.12 $! !
printElementsDo:!
2905027!
private!
1[Object]:! !
reject:!
6326585!
iterating!
0[E,^Boolean]:SeqCltn[E]! !
#isGeneric!
true! !
isEmpty!
2895053!
testing!
0Boolean! !
printOn:!
2895192!
printing!
0CharOutputStream:! !
size!
2896762!
accessing!
0Integer! !
collectUsingAdd:!
2904070!
private!
3[E,^R def]:Cltn[R]! !
asOrderedCollection!
2901973!
converting!
4OrdCltn[EX]! !
virtualCollect:!
6326032!
virtual operations!
2[E,^X def]:Object! !
collect:!
2897092!
iterating!
2[E,^R def]:Cltn[R]! !
occurrencesOf:!
2896544!
accessing!
0Object:Int! !
species!
2896947!
accessing!
0Collection[E] class! !
=!
2894212!
testing!
0Object:Boolean! !
inject:into:!
2897886!
iterating!
2X:[X def,E,^X]:X! !
virtualSelectorClass!
6326430!
virtual operations!
0Object! !
#comment!
A Collection[E] is an object that represents a group of objects of type E.

The only message that must be implemented by subclasses is the #do: message.
All other Collection messages are then defined in terms of #do:.

%responsibility size
    Subclasses usually reimplement the #size message if possible, since the
	implementation provided in this class is very inefficient.
%responsibility collect:
    Subclasses may wish to consider overriding the #collect: (and #select: and #reject:)
    messages to specialize their return
    types to match the receiver type more closely.

Tags: %BlueBook %User

(c) 1995-1997 Sun Microsystems, Inc. ALL RIGHTS RESERVED. 
Use and distribution of this software is subject to the terms of the attached source license.
! !
#abstract!
true! !
select:!
6326786!
iterating!
0[E,^Boolean]:SeqCltn[E]! !
asBag!
2901573!
converting!
4Bag[EX]! !
virtualSelect:!
6326226!
virtual operations!
0[E,^Boolean]:Object! !
detect:!
2897263!
iterating!
0[E,^Boolean]:E! !
anElement!
2895774!
accessing!
0E! !
reduce:ifEmpty:!
2898552!
iterating!
4[RE def,RE,^RE]:[^X def]:RE|X! !
